作者:哈哈哈阿笑 | 来源:互联网 | 2023-08-16 10:39
篇首语:本文由编程笔记#小编为大家整理,主要介绍了Xgboost原理精读相关的知识,希望对你有一定的参考价值。
储备知识: 提升树 首先要明确一点,xgboost 是基于提升树的。
什么是提升树,简单说,就是一个模型表现不好,我继续按照原来模型表现不好的那部分训练第二个模型,依次类推。来几个形象的比喻就是:
做题的时候,第一个人做一遍得到一个分数,第二个人去做第一个人做错的题目,第三个人去做第二个人做错的题目,以此类推,不停的去拟合从而可以使整张试卷分数可以得到100分(极端情况)。
把这个比喻替换到模型来说,就是真实值为100,第一个模型预测为90,差10分,第二个模型以10为目标值去训练并预测,预测值为7,差三分,第三个模型以3为目标值去训练并预测,以此类推。
XGBoost VS GBDT
XGBoost (eXtreme Gradient Boosting)是GradientBoosting算法的一个优化的版本,针对传统GBDT算法做了很多细节改进,包括损失函数、正则化、切分点查找算法优化等。
相对于传统的GBM,XGBoost增加了正则化步骤。正则化的作用是减少过拟合现象。
xgboost可以使用随机抽取特征,这个方法借鉴了随机森林的建模特点,可以防止过拟合。
速度上有很好的优化,主要体现在以下方面:
1、分裂点寻找近似算法,先通过直方图算法获得候选分割点的分布情况,然后根据候选分割点将连续的特征信息映射到不同的bucke